/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Producto;

import Conexion.ArchivodeConexion;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 *
 * @author jorgeraulgrion
 */
public class ProcsProducto {
    java.sql.Connection con = null;    
    java.sql.ResultSet rs = null ;
    ArchivodeConexion leer;
    String server=null;
    String bd=null;
    String user=null;
    String pass=null;
    
    public ProcsProducto(){
         try{
            leer = new ArchivodeConexion();
            leer.LeerArchivo();
            server = leer.VerServidor();
            bd = leer.VerBd();
            user = leer.VerUsuario();
            pass = leer.VerContraseña(); 
            con = DriverManager.getConnection("jdbc:mysql://"+server+"/"+bd,user,pass);
        }
        catch (SQLException ex){}
    }
    
    public void CrearProducto(String Nombre, String Marca, String Tipo,Double PCompra,Double PVenta,int existencia, int Stockmin,String Cod, String Descrip){
        try {
            java.sql.CallableStatement cs = con.prepareCall("{call InsertarProducto('"+Tipo+"','"+Marca+"','"+Nombre+"',"+PCompra+","+PVenta+","+existencia+","+Stockmin+",'"+Cod+"','"+Descrip+"')}");
            java.sql.Statement stmt  = con.createStatement();
            java.sql.ResultSet rs = cs.executeQuery();
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "No se pudo insertar el proucto");
            Logger.getLogger(ProcsProducto.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public void AgregarProducto(int id, int cant){
        try {
            java.sql.CallableStatement cs = con.prepareCall("{call AgregarProducto("+id+","+cant+")}");
            java.sql.Statement stmt  = con.createStatement();
            java.sql.ResultSet rs = cs.executeQuery();
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "No se pudo Agregar al proucto");
            Logger.getLogger(ProcsProducto.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public void ActualizarProducto(int id,String Nombre, String Marca, String Tipo,Double PCompra,Double PVenta,int existencia, int Stockmin,String Cod, String Descrip){
        try {
            java.sql.CallableStatement cs = con.prepareCall("{call ActualizarProducto("+id+",'"+Tipo+"','"+Marca+"','"+Nombre+"',"+PCompra+","+PVenta+","+existencia+","+Stockmin+",'"+Cod+"','"+Descrip+"')}");
            java.sql.Statement stmt  = con.createStatement();
            java.sql.ResultSet rs = cs.executeQuery();
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "No se pudo insertar el proucto");
            Logger.getLogger(ProcsProducto.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public java.sql.ResultSet VerDAtosProducto(int id) throws SQLException{
        java.sql.ResultSet rs = null ;
        Statement cs = con.createStatement();
        rs = cs.executeQuery("SELECT Codigo,Nombre,Marca,Tipo,PrecioCompra,PrecioVenta,Existencia,StockMin,Descripcion FROM Producto where idProducto =  "+id+"");
        return rs;
    }
    
    public java.sql.ResultSet BuscarProductoPorCod(String cod) throws SQLException{
        java.sql.ResultSet rs = null ;
        Statement cs = con.createStatement();
        rs = cs.executeQuery("SELECT idProducto,Nombre,Marca,Tipo,Existencia FROM Producto where Codigo =  '"+cod+"'");
        return rs;
    }
    
    public java.sql.ResultSet BuscarProductoPorNombre(String nom) throws SQLException{
        java.sql.ResultSet rs = null ;
        Statement cs = con.createStatement();
        rs = cs.executeQuery("SELECT idProducto,Nombre,Marca,Tipo,Existencia FROM Producto where Nombre like '"+nom+"%'");
        return rs;
    }
    
    public java.sql.ResultSet BuscarProductoPorMarca(String mar) throws SQLException{
        java.sql.ResultSet rs = null ;
        Statement cs = con.createStatement();
        rs = cs.executeQuery("SELECT idProducto,Nombre,Marca,Tipo,Existencia FROM Producto where Marca like '"+mar+"%'");
        return rs;
    }
    public java.sql.ResultSet TodosLosProductos() throws SQLException{
        java.sql.ResultSet rs = null ;
        Statement cs = con.createStatement();
        rs = cs.executeQuery("SELECT idProducto,Nombre,Marca,Tipo,Existencia FROM Producto ");
        return rs;
    }
}
